package top.whysu.study.thinkinjava.chapter8.polymorphism.example6;

public class CovariantReturn {
    /**
     * 协变返回类型
     *
     * 其实就是父类A有一个方法返回了父类B对象，然后父类A的子类A1重写了这个方法，然后这个方法返回了父类B的子类B1对象。
     */
    public static void main(String[] args) {
        Mill m = new Mill();
        Grain g = new Grain();
        // Grain
        System.out.println(g);
        m = new WheatMill();
        g = m.process();
        // Wheat
        System.out.println(g);
    }
}